// jquery init part start
$(function () {				
		$.datetimeEntry.setDefaults({spinnerImage: 'pic/spinnerDefault.png'});	
		$('.dtimepaker').datetimeEntry();		
		
			//--1,get the heat price by com and car
		$("select[name^='busi']").bind("change",function(){
											name="ComId"
											var isheat="n";
											var comId="";
											var carId="n";
											
											if($(this).attr("name").indexOf("busi.heat")>=0){//heat
													
												isheat="y";
												comId = parseInt($("select[name='busi.heatComId'] :selected").val());
												carId = parseInt($("select[name='busi.heatCarId'] :selected").val());
												
												
												$("input[name='busi.waterCarId']").val(carId);
												$("input[name='sellList[0].carId']").val(carId);
												$("input[name='transfList[0].carId']").val(carId);
												
												
													$("input[name='sellList[0].comFromId']").val(comId);
													
													
											}else {//water
												comId = parseInt($("select[name='busi.waterComId'] :selected").val());
												carId = parseInt($("input[name='busi.waterCarId']").val());
																	
											}
											
											//ajax  提交请求 
												if(isheat=="y"&parseInt(comId)>0&parseInt(carId)>0 ||isheat=="n"&parseInt(comId)>0){ // begin>0
													
														$.post("HeatWaterPriAct.action",{
																		comId:  comId,																		
																		carId:  carId,																	
																		isheat:   isheat										
																	},function(data,textStatus){
																									if(data.length>2){
																										//alert('data='+data);
																											var priceID=data.substring(0,data.indexOf('p'));
																											var price=parseFloat(data.substring(parseInt(data.indexOf('p'))+1));																																																	      
																													    if(isheat=="y"){
																													    	
																															    $("input[name='busi.heatPriceId']").val(priceID);
																															    $("input[name='busi.heatPrice']").val(price);
																															    $("input[name='busi.heatSum']").val(price);
																															    
																													    }else{
																													     	  $("input[name='busi.waterPriceId']").val(priceID);
																															    $("input[name='busi.waterPrice']").val(parseFloat(price));
																															   // alert('priceID='+priceID+';PRICE='+price);
																															   // alert($("input[name='busi.waterPrice']").val());
																													    }
																											
																									}	// if end
																																									
																								}
																)// .post end	
													}// if end >0 
											
											
					 }
					)
					//--1,end
										
					//--2,get the price by com,car,statstyle 
		$(".pill tr td select").bind("change",function(){	
														var posi = $(this).attr("name").indexOf(']');														
														var na=	$(this).attr("name").substring(0,parseInt(posi)+1);     
														var which="";
														var fromId="";
														if(na.indexOf("ansfList")>0){
																which="t"; //transfer
																fromId=$("select[name='"+na+".comFromId'] :selected").val();
														}else{
																which="s"; //sell
																fromId=$("input[name='"+na+".comFromId']").val();
														}

														//ajax  提交请求 
														$.post("ComputeAct.action",{
																		//comIdA:  $("select[name='"+na+".comFromId'] :selected").val(),
															            comIdA:  fromId,
																		comIdB:  $("select[name='"+na+".comToId'] :selected").val(),
																		carId:   $("input[name='"+na+".carId']").val(),
																	stmtStyle:	 $("select[name='"+na+".stmtStyle'] :selected").val(),
																	giveHeatStyle:	 $("select[name='"+na+".extattr1'] :selected").val(),
																		which:   which										
																	},function(data,textStatus){
																									if(data.length>4){
																											var priceID=data.substring(0,data.indexOf('t'));
																											var priceTra=data.substring(parseInt(data.indexOf('t'))+1,parseInt(data.indexOf('p')));
																											var priceSel=data.substring(parseInt(data.indexOf('p'))+1,parseInt(data.indexOf('c')));
													 														var cTemp=data.substring(parseInt(data.indexOf('c'))+1,parseInt(data.indexOf('v')));
													 														var carv=data.substring(parseInt(data.indexOf('v'))+1,parseInt(data.indexOf('h')));
													 														var fangre=data.substring(parseInt(data.indexOf('h'))+1);
																											
													 														$("input[name='"+na+".priceId']").val(priceID);
																									
																											if(na.indexOf("ansfList")>0){
																												$("input[name='"+na+".price']").val(priceTra);
																											}else{
																												$("input[name='"+na+".price']").val(priceSel);
																											}
																									
																											$("input[name='"+na+".cstmTemptEnd']").val(cTemp);//放热温度
																										
																											$("input[name='"+na+".carv']").val(parseFloat(carv));//车辆水箱容积
																											//alert('get ajax fangre='+fangre);
																											//alert('get ajax fangre parseFloat(fangre) ='+parseFloat(fangre));
																											$("input[name='"+na+".fangreAmount']").val(parseFloat(fangre));//车辆标准放热量
																											//alert($("input[name='"+na+".fangreAmount']").val());
																									}	// if end
																																									
																								}
																)																																													
														}
				);  //2,bind end
			
			//3, compute amount===============================================================================
		    
		        //---------A  
			$("input[name$='amount']").bind("blur",function(){
				var preName=$(this).attr("name").substring(0,parseInt($(this).attr("name").indexOf(']'))+1);
				var price=$("input[name='"+preName+".price']").val();
				var amount=$(this).val();
				var plusSum=$("input[name='"+preName+".sumPlus']").val();
				if(price!=""&&amount!=""){  //the price and amount are not null
					if(plusSum==""){plusSum=0;}					
					$("input[name='"+preName+".sum']").val(toDecimal(parseFloat(parseFloat(price)*parseFloat(amount)+parseFloat(plusSum))));  // set the sum
				}
				// get the toltal sum
				var toltalSum=0;
							
				if(preName.substring(0,10)=="transfList"){
					$("input[name*=transfList][name$='].sum']").each(function(){
						if($(this).val()!=""){
							toltalSum=toltalSum+parseFloat($(this).val());
						}
					})	
				//$("#transfTaltolSum").text(toDecimal(toltalSum));
					$("input[name='busi.transfTaltolSum']").val(toDecimal(toltalSum));
				}else{
					
					$("input[name*=sellList][name$='].sum']").each(function(){
						if($(this).val()!=""){
							toltalSum=toltalSum+parseFloat($(this).val());
						}
					})
					//$("#sellTaltolSum").text(toDecimal(toltalSum));
					$("input[name='busi.sellTaltolSum']").val(toDecimal(toltalSum));
				}
				
				//===================totalAmount=====================
				var totalAmount=0;
				$("input[name^='sellList'][name$='amount']").each(function(){										
					totalAmount=parseFloat(totalAmount)+parseFloat($(this).val());		
				})				
				$("#totalAmount").val(totalAmount);
			})	
			   //===================totalAmount=====================
			
			
			    //---------B  
			$("input[name$='.price']").bind("blur",function(){
				var preName=$(this).attr("name").substring(0,parseInt($(this).attr("name").indexOf(']'))+1);
				var price=$(this).val();
				var amount=$("input[name='"+preName+".amount']").val();
				var plusSum=$("input[name='"+preName+".sumPlus']").val();
				if(price!=""&&amount!=""){  //the price and amount are not null
					if(plusSum==""){plusSum=0;}										
					$("input[name='"+preName+".sum']").val(toDecimal(parseFloat(parseFloat(price)*parseFloat(amount)+parseFloat(plusSum))));  // set the sum
				}
				// get the toltal sum
				var toltalSum=0;
							
				if(preName.substring(0,10)=="transfList"){
					$("input[name*=transfList][name$='].sum']").each(function(){
						if($(this).val()!=""){
							toltalSum=toltalSum+parseFloat($(this).val());
						}
					})
				//$("#transfTaltolSum").text(toDecimal(toltalSum));
					$("input[name='busi.transfTaltolSum']").val(toltalSum);
				}else{
					
					$("input[name*=sellList][name$='].sum']").each(function(){
						if($(this).val()!=""){
							toltalSum=toltalSum+parseFloat($(this).val());
						}
					})
				//	$("#sellTaltolSum").text(toDecimal(toltalSum));
					$("input[name='busi.sellTaltolSum']").val(toDecimal(toltalSum));
				}
			})	
			
			 //---------C
			$("input[name$='.sumPlus']").bind("blur",function(){
				var preName=$(this).attr("name").substring(0,parseInt($(this).attr("name").indexOf(']'))+1);
				var price=$("input[name='"+preName+".price']").val();
				var amount=$("input[name='"+preName+".amount']").val();
				var plusSum=$(this).val();
				if(price!=""&&amount!=""){  //the price and amount are not null
					if(plusSum==""){plusSum=0;}					
					$("input[name='"+preName+".sum']").val(toDecimal(parseFloat(parseFloat(price)*parseFloat(amount)+parseFloat(plusSum))));  // set the sum
				}
				// get the toltal sum
				var toltalSum=0;
							
				if(preName.substring(0,10)=="transfList"){
					
					$("input[name*=transfList][name$='].sum']").each(function(){
						if($(this).val()!=""){
							toltalSum=toltalSum+parseFloat($(this).val());
						}
					})
				//$("#transfTaltolSum").text(toDecimal(toltalSum));
					$("input[name='busi.transfTaltolSum']").val(toltalSum);
					
				}else{
					
					$("input[name*=sellList][name$='].sum']").each(function(){
						if($(this).val()!=""){
							toltalSum=toltalSum+parseFloat($(this).val());
						}
					})
					//$("#sellTaltolSum").text(toDecimal(toltalSum));
					$("input[name='busi.sellTaltolSum']").val(toDecimal(toltalSum));
				}
			})	
			
			
			//3, compute amount end=========================================================================
			
		   //4,计算应放热吨位,利用充热温度和原温度触发================================================================================
			
			$("input[name*='cstmTempt']").bind("blur",function(){
				var preName=$(this).attr("name").substring(0,parseInt($(this).attr("name").indexOf(']'))+1);
				var stmtStyle = $("select[name='"+preName+".stmtStyle'] :selected").val(); //结算方式
				
				if(stmtStyle!="3"){ //不是按热量表结算
						
							var tempStart=parseFloat($("input[name='"+preName+".cstmTemptStart']").val());   //原水温
							var tempEnd=parseFloat($("input[name='"+preName+".cstmTemptEnd']").val());			//放热温度
							var upTemprature=parseFloat($("input[name='"+preName+".upTemprature']").val());    //充热温度
							var carv=parseFloat($("input[name='"+preName+".carv']").val());    //车辆水箱容积	
							var carhAmount=parseFloat($("input[name='"+preName+".fangreAmount']").val());    //车辆的标准放热量				
							var begin= parseFloat($("input[name='"+preName+".meterStart']").val());  //水表起数
							var end = parseFloat($("input[name='"+preName+".meterEnd']").val()); //水表止数
							
							var yHeatAmount=parseFloat(carv*(upTemprature-tempStart)/(tempEnd-tempStart));	
							//alert('原水温='+tempStart+';放热温度='+tempEnd+';充热温度='+upTemprature+';水箱容积='+carv);
							//alert('应放热='+yHeatAmount);
							$("input[name='"+preName+".sHeatAmount']").val(yHeatAmount); //单条记录的应放热吨位
							
							var toltalHeatAmount=0;				//总的应放吨位
							$("input[name$='sHeatAmount']").each(function(){
								toltalHeatAmount=parseFloat(toltalHeatAmount)+parseFloat($(this).val());	
							
							})
							
							$("input[name='busi.extAttr5']").val(toDecimal(toltalHeatAmount));    //应放热吨位
							$("input[name='busi.extAttr6']").val(toDecimal(parseFloat(toltalHeatAmount)-parseFloat($("#totalAmount").val()))); //误差吨位
														
							if ($("#totalAmount").val()>0&&$("#totalAmount").val()<=1){//如果结算数量>0且<=1则，应放热吨位为0，误差吨位为0
								$("input[name='busi.extAttr5']").val(0);
								$("input[name='busi.extAttr6']").val(0);
							}
				}//end if
			})	
			
			//4,计算应放热吨位==============================================================================
			
			
			//5,按热量表计算误差热量================同时附加：供热结算时，除按车结算外，其余结算方式的结算数量=水表止数-水表起数，并自动计算金额===============================================================
			
			$("input[name^='sellList'][name*='meter']").bind("blur",function(){
				
				var preName=$(this).attr("name").substring(0,parseInt($(this).attr("name").indexOf(']'))+1);				
				var stmtStyle = $("select[name='"+preName+".stmtStyle'] :selected").val(); //结算方式
				if(stmtStyle=="3"){ //按热量表结算
						
							var carv=parseFloat($("input[name='"+preName+".carv']").val());    //车辆水箱容积	
							var carhAmount=parseFloat($("input[name='"+preName+".fangreAmount']").val());    //车辆的标准放热量
							
							var begin= parseFloat($("input[name='"+preName+".meterStart']").val());  //水表起数
							var end = parseFloat($("input[name='"+preName+".meterEnd']").val()); //水表止数
							
								$("input[name='"+preName+".sHeatAmount']").val(parseFloat(carhAmount)); //单条记录的应放热吨位
								//alert('单条记录应放热量：'+parseFloat(carhAmount));
																				
							var toltalHeatAmount=0;				//总的应放吨位
							$("input[name$='sHeatAmount']").each(function(){
								toltalHeatAmount=parseFloat(toltalHeatAmount)+parseFloat($(this).val());	
							
							})
							
							var meterStartAmount=0; //水表总开始读数
							$("input[name^='sellList'][name$='meterStart']").each(function(){
								meterStartAmount=parseFloat(meterStartAmount)+parseFloat($(this).val());	
							
							})
							var meterEndAmount=0; //水表总结束读数
							$("input[name^='sellList'][name$='meterEnd']").each(function(){
								meterEndAmount=parseFloat(meterEndAmount)+parseFloat($(this).val());	
							
							})
							
							//alert('总的toltalHeatAmount='+toltalHeatAmount);
							
							$("input[name='busi.extAttr5']").val(toDecimal(toltalHeatAmount));    //应放热吨位						
							$("input[name='busi.extAttr6']").val(toDecimal(parseFloat(toltalHeatAmount)-parseFloat(meterEndAmount-meterStartAmount))); //按蒸汽的误差吨位，=应放热量-实际放热量					
							
							//alert('误差吨位='+(parseFloat(toltalHeatAmount)-parseFloat($("#totalAmount").val())));
							
							if ($("#totalAmount").val()>0&&$("#totalAmount").val()<=1){//如果结算数量>0且<=1则，应放热吨位为0，误差吨位为0
								$("input[name='busi.extAttr5']").val(0);
								$("input[name='busi.extAttr6']").val(0);
							}
				}//end if	
				
				//=以下计算除按车结算外，根据水表起止读数计算结算数量和金额
				if(stmtStyle!="1"){ //按热量表结算
					var mbegin= parseFloat($("input[name='"+preName+".meterStart']").val());  //水表起数
					var mend = parseFloat($("input[name='"+preName+".meterEnd']").val()); //水表止数
					var mprice= parseFloat($("input[name='"+preName+".price']").val()); //单价
					if(mbegin>=0&&mend>=0){
					$("input[name='"+preName+".amount']").val(toDecimal(parseFloat(mend-mbegin))) ;
					$("input[name='"+preName+".sum']").val(toDecimal(parseFloat(mend-mbegin)*parseFloat(mprice))) ;
					}
				}
				//=end if
				
			})	
			
			//5,按热量表计算误差热量===============同时附加：供热结算时，除按车结算外，其余结算方式的结算数量=水表止数-水表起数，并自动计算金额=================================================================
			
			
			//6,权限的控制======================================================================================
				// (a):采热部分
				
//				if($("input[name='part']").val()=="getheat" && $("input[name='statusid']").val()!=10){			
//					$("input[name*='busi.heat']").addClass("isred");
//					$("input[name*='busi.heat']").attr("readonly",true);					
//					$("select[name*='busi.heat']").addClass("isred");
//				
//				}
			
			//6，end 权限的控制=====================================================================
				
			//7,采水日期自动取采热日期=====================================================================
			
			$("input[name='busi.waterNum']").bind("blur",function(){			
				var wdate=$("[name='busi.heatDate']").val();
				if(wdate.length>9){wdate=wdate.substring(0,10) ;}
				$("input[name='busi.waterDate']").val(wdate);
				
			})
			
			
			//7,采水日期自动取采热日期=====================================================================
				
			//8,运输销售单号自动取供热单号=====================================================================
			
			$("input[name='sellList[0].sellNum']").bind("blur",function(){			
				//alert($("input[name='sellList[0].sellNum']").val());
				      $("input[name='transfList[0].tranNum']").val($("input[name='sellList[0].sellNum']").val());
				
			})
			
			
			//8,运输销售单号自动取供热单号=====================================================================
				
			//9,根据 是否采水标识，决定是否显示采水部分================================================
			
			if($("input[name='busi.waterIs']").val()=="true"){
	
				hiddenwater();
				
			}
			//9，根据 是否采水标识，决定是否显示采水部分================================================
			
				
			//10,根据 是否承包方结算标识，决定是否显示================================================
			
				hiddentransf();
		
			//10，根据 是否承包方结算标识，决定是否显示================================================
			
			//11,=================
			
			//11,===============
				
	} //$(function }end 加载...
  );//$(function )end 加载...
	
	






// jquery init part end

// add row to transfer part
function add(){	
	var $newone=$('#transTable tr:last').clone(true);
	//alert('children=:'+$newone.children().children().length);
	$newone.children().children().each(			
			function(){
				$(this).attr("name",function(){
																	//alert('in each='+'transfList['+parseInt($('#transTable tr').length-1)+$(this).attr("name").substring(12));
												return 'transfList['+parseInt($('#transTable tr').length-1)+$(this).attr("name").substring(12);
												}
				)				
			}
	);
	$newone.appendTo($('#transTable'));
}


//add row to sell part
function addsell(){	
	
	var $newone=$('#sellTable tr:last').clone(true);
	
	$newone.children().children().each(				
			function(){
				   //if($(this).attr("name")==null){return true;}
				$(this).attr("name",function(){
																	//alert('in each='+'sellList['+parseInt($('#sellTable tr').length-1)+$(this).attr("name").substring(10));
													//alert($(this).html());
													return 'sellList['+parseInt($('#sellTable tr').length-1)+$(this).attr("name").substring(10);
												}
				)
				
			}
	);
	$newone.appendTo($('#sellTable'));
}
//remove the record of  part
function deleRec(obj){
	alert('删除供热记录并保存后，请重新触发充热温度以得到正确的放热吨位!');
	var delTr=$(obj).parent().parent();
	   delTr.remove();
}

//in edit part ,hidden the record of  part
function deleRecEdit(obj){
	
	var delTr=$(obj).parent().parent();
	var nextbro=$(obj).next();
	//alert($(nextbro).attr("name"));
	var preName=$(nextbro).attr("name").substring(0,parseInt($(nextbro).attr("name").indexOf(']'))+1);	
	
	if(preName.indexOf("sellList")>=0){   //隐藏掉的同时，将编码置为空，后台编辑看到空编码，执行删除操作
		$("input[name='"+preName+".sellNum']").val("");
		alert('删除供热记录并保存后，请重新触发充热温度以得到正确的放热吨位!');
	}else{
		$("input[name='"+preName+".tranNum']").val("");
		
	}
	
	   delTr.hide();
}
//compute the taltol sum of water from supplyer
function waterSum_1(){	
	var price=$("input[name='busi.waterPrice']").val();
	var meterStart=$("input[name='busi.waterMeterStar']").val();
	var meterEnd=$("input[name='busi.waterMeterEnd']").val();
	
	if(price!=""&meterStart!=""&meterEnd!=""){
		//alert("price="+price+";start="+meterStart+";meterEnd="+meterEnd);
			 if(isNaN(price)||isNaN(meterStart)||isNaN(meterEnd)) {alert("水表起至数包含非数值字符");return;}
		
			if(parseFloat(price)>0&(parseFloat(meterEnd)>0-parseFloat(meterStart))>0){
				
				$("input[name='busi.waterSum']").val(parseFloat(parseFloat(price)*(parseFloat(meterEnd)-parseFloat(meterStart))));
			}else if((parseFloat(meterEnd)>0-parseFloat(meterStart))<=0){
				
				alert('水表读数为零或填写错误');
			}else{
				alert('水表填写有误,或定义采水单价有问题');
				
			}
	}
}

//compute the taltol sum of water from supplyer
function steamSum(){	
	
	var radiovalue=$("input[name='busi.extAttr1']:checked").val();
	//alert('radiovalue='+radiovalue);
	if(radiovalue=="1"){
			
			var price=$("input[name='busi.heatPrice']").val();
			var meterStart=$("input[name='busi.extAttr3']").val();  //汽水表开始读数
			var meterEnd=$("input[name='busi.extAttr4']").val();    //汽水表结束读数
			
			if(price!=""&meterStart!=""&meterEnd!=""){
				//alert("price="+price+";start="+meterStart+";meterEnd="+meterEnd);
					 if(isNaN(price)||isNaN(meterStart)||isNaN(meterEnd)) {alert("水表起至数包含非数值字符,或未定义采热成本");return;}
				
					if(parseFloat(price)>0&(parseFloat(meterEnd)>0-parseFloat(meterStart))>0){
						
						$("input[name='busi.heatSum']").val(parseFloat(parseFloat(price)*(parseFloat(meterEnd)-parseFloat(meterStart))));
					}else if((parseFloat(meterEnd)>0-parseFloat(meterStart))<=0){
						
						alert('水表读数为零或填写错误');
					}else{
						alert('水表填写有误，或采热成本定义有误');
						
					}
			}
			
	}//end if;
}


// the decimal and the count============================
function toDecimal(num)
{
    var vv = Math.pow(10,3);
    return Math.round(num*vv)/vv;
}
//the decimal and the count end===========================

//hiden or show content of the class============================
function dirSteamHs(flag)
{
	if(flag=='h'){
		 $("#dirsteamStartth").html("");
		 $("#dirsteamEndth").html("");
		 $("#dirsteamStart").html('<s:hidden name="busi.heatPriceId" />	<s:hidden name="busi.extAttr3" label="汽水表开始读数" value="0"/>');
		 $("#dirsteamEnd").html('<s:hidden name="busi.extAttr4" label="汽水表结束读数"  value="0"/>');
	}else{
		 $("#dirsteamStartth").html("汽水表起数");
		 $("#dirsteamEndth").html("汽水表止数");
		 $("#dirsteamStart").html('<s:hidden name="busi.heatPriceId" />	<input type="text" name="busi.extAttr3" label="汽水表开始读数"/>');
		 $("#dirsteamEnd").html('<input type="text" name="busi.extAttr4" label="汽水表结束读数" />');
	}
}
//hiden or show content of the class==============================

function hiddenwater(){
	//alert('=='||$("#busiwaterIs").attr('checked'));
	if($("input[name='busi.waterIs']").attr('checked')==undefined){
		$(".water").hide();			
	}else{
		$(".water").show();
	}
}
function hiddentransf(){
	
	if($("input[name='busi.extAttr7']").attr('checked')==undefined){
		$("#transTable").hide();	
		$("#transfTaltolSum").hide();	
		$("#transfTaltolbutton").hide();	
	}else{
		$("#transTable").show();
		$("#transfTaltolSum").show();	
		$("#transfTaltolbutton").show();
	}
}

